package com.example.forum.commons.tools.Transfer;

import java.util.List;

public interface DataTransfer {

    /**
     * 完成持久化层到传输层数据赋值，(反向赋值也可以)
     * @param dto 传输层
     * @return 赋值后的传输层
     */
    Object getDtoFromEntity(Object dto, Object entity,Class<?> ...tType);

    /**
     * 完成持久化层到传输层数据赋值，(反向赋值也可以)
     * @param dto 传输层
     * @return 赋值后的传输层
     */
    Object getEntityFromDto(Object entity,Object dto);

    Object getObjectFromObject( Object objectTo,Object objectFrom,Boolean... ifJump);



    /**
     * 集合类映射
     * @param <T> 目标集合类型
     * @param <S> 源集合
     * @return 目标集合(自动赋值)
     */
    <T, S> List<T> ListToList(List<S> src, Class<T> t);

}
